
/**
 * 该C文件和其它的C文件不同，其它的C文件中变量前将会有 extern 关键字
 * 但 global.c 没有，也就意味着 global.c 下的变量会和其它C文件下的有所不同
 */

#define GLOBAL_VARIABLES_HERE

#include "type.h"
#include "const.h"
#include "protect.h"
#include "proto.h"
#include "proc.h"
#include "global.h"

// 进程表
PUBLIC PROCESS proc_table[NR_TASKS];

// 所有进程栈大小的总和
PUBLIC char task_stack[STACK_SIZE_TOTAL];

// 进程管理表
// 责任：记录一个任务(进程)的开始地址、堆栈等信息
PUBLIC TASK task_table[NR_TASKS] = {
                                        //进程体    堆栈          进程名
                                        {TestA, STACK_SIZE_TESTA, "TestA"}, 
                                        {TestB, STACK_SIZE_TESTB, "TestB"},
                                        {TestC, STACK_SIZE_TESTC, "TestC"},
                                        {task_tty, STACK_SIZE_TTY, "tty"},
                                   };

// 保存所有中断的中断处理函数
PUBLIC irq_handler irq_table[NR_IRQ];

// 保存所有系统调用的处理函数
PUBLIC system_call sys_call_table[NR_SYS_CALL] = {sys_get_ticks};

